PyCon JP 2014 Keynote Speech
2014-09-17
Materials
-----
https://gyazo.com/fda1859e859adeacdb089ea10e80ce52
Rediscover with Python Cybozu Labs NISHIO Hirokazu Q&A Added Version2014-09-17 Wednesday, September 17, 20141
https://gyazo.com/1444722ab15528d6581e835f5c2b1110
evil pythonista Wednesday, September 17, 14 2
https://gyazo.com/bb0aad30cc2ded2d639218df1bab90df
evil pythonista Wednesday, September 17, 14 3
https://gyazo.com/14f58fe4561a01e4457ad4ca5f10244c
evil pythonista -2006 LL Ring "Janken 2.0" Wednesday, September 17, 14, 2006 3
https://gyazo.com/339fecf1958241347d1f144ee7ef1092
evil pythonista -2006 LL Ring "Janken 2.0" - programmers of various languages write programs in each language and play rock-paper-scissors-paper in a communication game Wednesday, September 17, 14 3
https://gyazo.com/1cc4bec01a4aa6221d4b2506dd53d1bc
evil pythonista -2006 LL Ring "Janken 2.0" - Programmers of various languages write programs in each language and play rock-paper-scissors-paper in a communication game - this kind of program can be written in one line! You can write a program like this in one line! Wednesday, September 17, 14 3
https://gyazo.com/e779e45a303e1b3d1be958b54ff64399
Can't use syntax with line breaks -if -while -try..except Wednesday, September 17, 14 4
https://gyazo.com/7b30e6a949b0a7c03dbead1d3ec49727
How to? Wednesday, September 17, 14 5
https://gyazo.com/de8f4b6189c8d692e7ea2fde0c27af8b
How to?-use short-circuit evaluation of if ->and/or Wednesday, September 17, 14 5
https://gyazo.com/0322585c6f9925b75b5cba648855a945
How to? -if →use short-circuit evaluation of and/or -while →useful library for infinite yield from itertools import count Wednesday, September 17, 14 5
https://gyazo.com/480cc6d77c994c18b49ee9012118afe2
How to? -if →use short-circuit evaluation of and/or -while →convenience library for infinite yieldfrom itertools import count -try..except → Start a "process that may throw an exception and die" as a child process and read the error output on exitWednesday, September 17, 145
https://gyazo.com/a8ceb93cfe9e34858e89b8421b394a08
https://gyazo.com/32075826201abc3b1aae6fc096808270
Serious Self-Introduction Wednesday, September 17, 14 7
https://gyazo.com/fe0eb2b50b4241e8b18a7708e0c0bb83
Serious Self-Introduction - Cybozu Labs Wednesday, September 17, 14 7
https://gyazo.com/0694614f6cf3c1f67ec7847a1a18888a
Serious Self-Introduction - Cybozu Labs - Research and Development of Technologies that Will Serve as the Foundation for the Next Generation of Groupware from a Medium- to Long-Term Perspective7 Wednesday, September 17, 14
https://gyazo.com/38c91598d2c8e47e2a9a162d3aec7c08
Serious Self-Introduction-Cybozu Labs-Research and development of technologies that will form the basis of the next generation of groupware from a medium- to long-term perspective-One Liner not writtenWednesday, September 17, 14, 7
https://gyazo.com/c3acc8af92a2d5f7891b61547b31db49
Python Usage Scenes at Cybozu - Automation - Infrastructure - Analysis Wednesday, September 17, 14 8
https://gyazo.com/61eeb26a282d594e92d2d65e16a0f151
Automation - VM, storage and various configurations management - Testing: easy to write and mock - as Jenkins scripts -> Requests to hit kintone API and others Wednesday, September 17, 14 9
https://gyazo.com/081b2ce6f77cfb211a36d1cb7bb98e5e
Infrastructure14 Wednesday, September 17, 10
https://gyazo.com/4a40b1809cad471e4f2d21667e80ec14
https://gyazo.com/c5682d9708afcdfc7a5b92e8340ab3ae
https://gyazo.com/ad58594f8f8b9862d6365916c6eed958
https://gyazo.com/89d5cc2d486eaae58ebb9d9173cae0c0
Infrastructure - C++ and Java for the parts that require performance -Python to stitch those components together14 Wednesday, September 17, 14
https://gyazo.com/d69eab2988204799896c9b6d42699416
Analysis Wednesday, September 17, 1415
https://gyazo.com/f821b06271620bf767f21cb33ad58568
Analysis - Data Collection Wednesday, September 17, 14 15
https://gyazo.com/4086cdc6fe7ac9a48d349b7b7da2c3b3
Analysis - Data Collection - Cleansing and Filtering Wednesday, September 17, 14, 15
https://gyazo.com/3c1b0edc7aa6b666a0b0cfd786b8e769
Analysis - Data Collection - Cleansing and Filtering - Statistical Processing is also easy with NumPy and SciPy14, Wednesday, September 17, 1415
https://gyazo.com/41805d2584da6a37c686ccad67cbdc27
Analysis - Data collection - Cleansing, filtering, and statistical processing is also easy with NumPy and SciPy from scipy.stats import chi2_contingency chi2_ contingency(data) Wednesday, September 17, 1415
https://gyazo.com/b503168e6f9976df2fece3eeb8ec83f8
Python Usage Scenes at Cybozu - Automation - Infrastructure - Analysis -> talk about specific examples Wednesday, September 17, 14 16
https://gyazo.com/f07fa6a48ab6c9ad7ad13e266a8be0c2
Wednesday, September 17, 14 17
https://gyazo.com/e80d5443dc2b0ff042b12be816debe66
Recommended Graph Chart recommendation -Create a graph from data -Various options for what kind of graph to create -Computer assistedWednesday, September 17, 14 http://developer. cybozu.co.jp/tech/?p=3874 18 https://gyazo.com/99d219492e19b30da28a0ad8278880fe
Recommend charts using statistics of data distribution Wednesday, September 17, 14 19
https://gyazo.com/ca05ac4d41d907a856c53b15cf8a8b01
Recommended Graph Chart recommendation -Flask and NumPy for prototypes -collections in the standard library are also useful -product version is implemented in JavaScript14 years Wednesday, September 17 http://developer.cybozu.co.jp/tech/?p=3874 20 https://gyazo.com/1cfbb68576409a4a813b098a235a7433
What is groupware? Wednesday, September 17, 14 21
https://gyazo.com/65b601a2351297ef674fd836f235dccb
What is groupware? Group + Software Wednesday, September 17, 14 21
https://gyazo.com/670dcf500a69b30c6531b824b2eecc75
Augmenting Human Intellect software augments human abilities Engelbert, "Augmenting Human Intellect: A Conceptual Framework" (1962) Wednesday, September 17, 14 22
https://gyazo.com/098521dc1f3ae178d1a7ed3bd7aa7b95
Augmenting Group Intellect Software Enhances Collective Capacity = Groupware Wednesday, September 17, 14 23
https://gyazo.com/1be57cb5d28d15f6f6b4a778a097a721
Give word2vec a sentence and the computer will understand the meaning of the word24 Wednesday, September 17, 14
https://gyazo.com/ba76af3f957d7600a0798a3c271976ca
Human Computer Wednesday, September 17, 14 25
https://gyazo.com/2c309afe23780705bc01f61c3cf67f07
Human + Computer = Augmented Human Human Wednesday, September 17, 14 26
https://gyazo.com/3f1d822c0e7580942abcf493d2938932
Wednesday, September 17, 1427
https://gyazo.com/4c8fb67850e6e0bf4b05158d969da5b3
Wednesday, September 17, 1428
https://gyazo.com/25ba30514cb43128716f74fbf07c8341
Wednesday, 9/17/14 Search 29 for "motivational advice"
https://gyazo.com/baff6c6f8fcd682b4e133d211af867ad
14 channels brain wave sensor Wednesday, September 17, 14 30
https://gyazo.com/af15c6182f11b826faf5d6099013d3aa
Human to Machine keyboard switch mouse camera touch panel (multi-touch) scanner Machine to Human paper CRT liquid crystal e-ink 3D TV HMD Wednesday 17 Sep 14 31
https://gyazo.com/2f6456013c0c4ba2e30ef2ad6cb71dc8
Machine→Human paper CRT liquid crystal e-ink 3D TV HMD book e-book Wednesday, September 17, 14 32
https://gyazo.com/9463089a4a4e1a235936c49b98cca22a
Four elements of human enhancement -1: Artifacts: computers, software, etc. -2: Language: terminology for concepts, design patterns, etc. -3: Methodology: procedures, strategies, etc. Methodology: procedures, strategies, etc. for problem solving -4: Training: acquiring skills to use 13 Wednesday, September 17, 14 Engelbert, "Augmenting Human Intellect: A Conceptual Framework" (1962) 33 Framework" (1962) 33
https://gyazo.com/210b1c31467a32db39ef0e1f5388e5c2
Four elements of human enhancement -1: Artifacts: computers, software, etc. -2: Language: terminology for concepts, design patterns, etc. -3: Methodology: procedures, strategies, etc. Methodology: procedures, strategies, etc. for problem solving -4: Training: acquiring skills to use 13 Wednesday, September 17, 14 Engelbert, "Augmenting Human Intellect: A Conceptual Framework" (1962) 34 Framework" (1962) 34
https://gyazo.com/f7318c16156cad40212cefeb8063ce4b
theme of this conference: Rediscover with Python Wednesday, September 17, 1435
https://gyazo.com/8c8f5b522d3f6b3ff9f722ed877b7b4c
How to discover? →Methodology to find unknown Wednesday, September 17, 14 36
https://gyazo.com/6836865773947cb8ee79aed896c4169c
Wednesday, September 17, 1437
https://gyazo.com/33f26484b1e81e3b4ce23003a867127d
Wednesday, September 17, 1438
https://gyazo.com/957013f122389dcec04f42abe2cfd896
Wednesday, September 17, 1439
https://gyazo.com/acef04dd4524cfb3b01ee8240d5f56df
How to discover? →Change Perspective Wednesday, September 17, 14, 40
https://gyazo.com/44b20bf8e055d2469449ae6d0a3c78e4
Change Perspective - No matter what perspective you look at things, there is always something you don't see - change your perspective to see what you don't seeWednesday, September 17, 1441
https://gyazo.com/4c0d1d20772727c1e58dde408da1fe95
known (cid:15511) unknown Wednesday, September 17, 1442
https://gyazo.com/c93cc1bc92ee2fb7ac365003cac01221
Obviously I don't know 43 Obviously I know Wednesday, September 17, 14
https://gyazo.com/ea315a7f20d080f4bda7c781bfa81961
Obviously unknowing Unknown Obviously knowing Wednesday, September 17, 14, 44
https://gyazo.com/0393f317e2ebc3611bfa032385f3eb6a
BLIND SPOT -The area between the "obviously know" area and the "obviously don't know" area. -They don't see it, but they don't know they don't see it. That is the blind spot.Wednesday, September 17, 1445
https://gyazo.com/137f774736da504fea5b0616a5e65fbb
Obviously you don't know Obviously you know Wednesday 9/17/14 "How much do you know? "46
https://gyazo.com/7e6d560146bade90da7e8ae72dd6f4f7
Obviously don't know Obviously know Wednesday 9/17/14 ← blindspot blindspot 47
https://gyazo.com/73cebe7452b1f05de368474b3de26bf9
Obviously don't know Obviously know Wednesday 9/17/14 ← blindspot blindspot 48
https://gyazo.com/16bdb793986f7f0608157465c3f9ba21
How to find blind spot? Wednesday, September 17, 1449
https://gyazo.com/31fed13f71a270ea327a9fa4c5452ce5
Comparison History Experience Wednesday 9/17/14 50
https://gyazo.com/d1dd52282b1d70d1f0d160ae70db9919
Comparison History Experience + Abstraction Communication Wednesday 9/17/14 51
https://gyazo.com/a405b7b022dd04140b5bfb77000487c0
How to find blind spots? Comparison History Experience Abstraction Communication Wednesday, September 17, 14 52
https://gyazo.com/3dbe6703cb129cb697d7cd88baf08763
Comparison - e.g., by comparing multiple languages, we notice "What? In Python it's false, right? "What is true in different languages?" "What about other languages?" How is it defined in Python?" Wednesday 9/17/14 object.__nonzero__(self) Called to implement truth value testing and the built-in operation bool(); 53
https://gyazo.com/3e873db62d25071facc4c8c9d1f41f88
History - Example: By following the history, you will notice a blind spot "Why does Python have two types of classes, New-style classes and non-New-style classes? → History - realizing that the order of method name resolution needed to be changed for the purpose of merging types and classes Wednesday, September 17, 2002Unifying types and classes in Python 2.2 | Python.org https://www.python. org/download/releases/2.2.3/descrintro 54 https://gyazo.com/c897927d6e0a293855e8feb3645bb540
Experience - real use will help you notice blind spots "Hey, I thought 1/2 was going to be 0.5, but now it's 0?" Wednesday 9/17/14 PEP 238 -- Changing the Division Operator http://legacy.python.org/dev/peps/pep-0238/ 55 https://gyazo.com/8d4584fb2e8c70bc917a9b5201cb9601
Abstraction - verbalizing one's experience by exposing concrete examples to abstractions "Oh, this writing style that I somehow used was named the Mediator Pattern!" Wednesday, September 17, 1456
https://gyazo.com/ab2a3bf1eee04e5c2c9004ee5e22c24c
Communication -Conversations with others who have different experiences can help you to recognize blind spots, such as, "I'm having trouble with this problem," or, "Why don't you do it this way? "I see, I didn't think of that idea!" "No, it's a common idea in GUI. No, it's a normal idea in GUI." "I'm a server specialist.
https://gyazo.com/55480a2dfce4875213bf19f5f3efe994
How to find blind spots? Comparison History Experience Abstraction Communication Wednesday, September 17, 14 58
https://gyazo.com/dd6cd0c1c6bf507fc686f68bef80364f
Communication Wednesday, September 17, 14 59
https://gyazo.com/7636b07516c7ddabee712511cc7743f0
Office Hour 13:00-13:30 Blog, Mail see http://nhiro.org/ Wednesday, September 17, 14 60 https://gyazo.com/1530146e804d9cb6ddbcc4be73c7de14
https://gyazo.com/89bb215a43cc9a38704afd817b3bdd7e
Q: Some people may see information that gives them a "chance to notice blind spots" but still think "that can't be true" due to cognitive dissonance. What should we do with such people in terms of augmenting the organization? How do we educate them? Wednesday, September 17, 1462
https://gyazo.com/efe92380e6b9349844dc29a1c9462109
A: I will be explaining the "U Theory" that is trying to answer that very point at the Kyoto University Summer Design School starting 9/24, and I will be presenting the material...http://www.design.kyoto-u.ac.jp/sds2014/ja/theme01... html 63 Wednesday, September 17, 14 https://gyazo.com/71839683a1f12bf9f7055ee211bae2b0
A: I have two points to make. First, the "how to change others" stance will not work. You need to change yourself.Wednesday, September 17, 1464
https://gyazo.com/c84b953c3d291c6ff9b8459b935278f1
A: Next, realize that it is common for people, including yourself, to get into a state of "seeing but not seeing. "Wednesday, September 17, 1465
https://gyazo.com/1c7875b22363d38415e3b754c23c57d8
A: It can be small at first, and you should accumulate "success stories" that yield beneficial results from your awareness. This will give you confidence.Wednesday, September 17, 1466
https://gyazo.com/66498d8bceaf7de23ff6c7f2c6ec5c3b
PDCA Cycle and U-Curve Relationship U-Curve Supplemental Slide U-Curve State Behavior Wednesday, September 17, 14, 67 C. Otto Scharmer, "U Theory."
https://gyazo.com/448f224c8af5161a7bd84baaf82a9bad
PDCA Cycle and U-Curve Relationship U-Curve Supplemental Slide U-Curve ← State of affairs where you can see it but are not looking at it properly because of assumptions Wednesday, September 17, 14, 68 C. Otto Scharmer, "U Theory."
https://gyazo.com/20491d13b54e9962ee3504aaafbe4b8f
PDCA Cycle and U-Curve Relationship U-Curve Supplemental Slide U-Curve ← I see it, but only from my perspective. State behavior "they won't do it because they won't do it," we think. Drawing boundaries between self and othersWednesday, 9/17/1469 C. Otto Scharmer, "U Theory."
https://gyazo.com/2aacbd892f736078168f3fc654dfec28
Q: Isn't it also important how the modeling is done? Wednesday, September 17, 1470
https://gyazo.com/88d460ba6e3c48d26346b649cc3592d0
A: Yes, it's important.Wednesday, 9/17/1471
https://gyazo.com/f4beca62e8f861f635dbf51dc2a48dfa
https://gyazo.com/ddac14813373d86e2fe01c925556a5ff
A: Hypotheses are created from experience. The feeling of "understanding" is also a hypothesis. Hypotheses need to be tested by experimentation. Act on the understanding and check the results Wednesday, September 17, 1473
https://gyazo.com/ec2ecd588e57bc9a3f096ad1e8902d6e
A: If the results of an action differ from expectations, the model needs to be modified. Repeating this process creates a "likely correct" model, which is then combined to create a larger model. This is one methodology Wednesday, September 17, 1474
https://gyazo.com/55e21b74f4048c2582234ba24201b201
A: Another methodology, the KJ method or grounded theory, is used in the humanities, where experimentation is not easy.14 Wednesday, September 17, 75
https://gyazo.com/286e68272900d8d513bb8720f27e5efa
A: First collect a large amount of data from interviews, etc., and then list it without filtering it out with your own biases and saying "this is noise" Wednesday, September 17, 14, 76
https://gyazo.com/d1004d1a441b56b6b115611bb1c76ded
A: Human working memory is only about seven, but if you put the data on paper and spread it out on a desk, you can see 100 or 200 Wednesday, September 17, 14, 77
https://gyazo.com/41165932d7952bdcccf8ee0dbd6f0a50
A: After making a list of 100 data, build a model by moving them around on the desk, which is the KJ method (I failed to mention this at the meeting, but it is also important to build a structure from the data bottom-up, rather than applying Existing Structure in a top-down manner). (Incidentally, the book and feature article I introduced above were modeled using the KJ method on Wednesday, September 17, 200278) https://gyazo.com/d86b824e7630a2e7ca5e40d984095785
Question Q in Office Hour: Aren't the 5 ways to notice blind spots not parallel but back and forth in time? Wednesday, September 17, 1479.
https://gyazo.com/13ce926778f4b1fa12ea4681cf0f47e6
A: That was a blind spot! It's true that abstractions can't be used out of the blue, right from the start. If someone with no programming experience reads a book on design patterns, they won't be able to connect it to their own experience.Wednesday, September 17, 1480
https://gyazo.com/19090fc3db0420f10b458ede89bf713c
Q: How can we share our testing expertise among testers (detailed situation description omitted) Wednesday 9/17/14 81
https://gyazo.com/742ef63d4304908f71e1305bb93bc21f
A: It seems to me that the question is how to share knowledge that is not verbalized. One methodology is "working together. "82 Wednesday, 9/17/14
https://gyazo.com/6e9e54c395305cce9d5b6980ffa52594
A: By working together, know-how can be shared without verbalization. Furthermore, separating "those who instruct without operating and those who operate" encourages the verbalization of knowledge in order to instruct.14 Wednesday, September 17, 2002Reference "A group of mediocre geniuses can beat a lone genius. "83
https://gyazo.com/78ecec7921a8ba1333ef099f33efb60f
A: Only when verbalization is done can manualization, etc. be done. Linguization is a rather difficult task, so if it is suddenly left to each individual without training that skill, it will not work.Wednesday, September 17, 1484
https://gyazo.com/8bb4f6a53718d9260b9d5db280ae7142
Unverbalized Knowledge Supplement Slides Knowledge is created by turning this spiral "The Knowledge Creation Enterprise" p93 85 Wednesday, September 17, 14
https://gyazo.com/451ff242769a4fc6a7f4317ecca87633
Unverbalized Knowledge Supplemental SlidesupPair Pro/Collaborative Work is the equivalent here Knowledge is created by turning this spiral "The Knowledge Creation Enterprise" p93 86 Wednesday, September 17, 14
https://gyazo.com/ee36b55d320f8bdcf5506b3e6b35085e
Q: I am creating a template for verbalizing information. Answer the questions and you will have the information you need.Wednesday, 9/17/14 87
https://gyazo.com/5492a2630d9c76a07e718cc558413513
A: That is a good approach. Often, even those who can't do it when told to "verbalize," can answer when asked specific questions. Asking the right questions is important.Wednesday, September 17, 1488
https://gyazo.com/1fea61f0d95f3e65f0426531a05eade5
A: In that sense, there are advantages to templating. However, we need to be aware of the disadvantage that information that cannot be expressed in a template is discarded. New and important information is not templated.Wednesday, September 17, 1489
---
This page is auto-translated from /nishio/PyCon JP 2014 基調講演 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.